Custom power outlet socket that has integrated wireless functionality

ABSTRACT

A custom outlet module is contained within a housing and has an electric current sensor configured to measure current passing through an electric outlet during a time period, a proximity sensor configured to detect a distance of an object relative to the electric outlet during the time period, a relay switch that can open or close to stop or conduct current through a circuit in the electric outlet in response to a command, and a wireless network interface in communication with the electric current sensor and the proximity sensor, the wireless network interface configured to transmit and receive data from the current sensor and the proximity sensor, to transmit commands to the relay switch, transmit the data to a computing device, and receive commands from the computing device.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is a continuation of U.S. patent application Ser. No.16/042,944, filed Jul. 23, 2018 which claims the benefit of priority toU.S. Provisional Patent Application No. 62/626,994, filed Feb. 6, 2018,and U.S. Provisional Patent Application No. 62/536,288, filed Jul. 24,2017, the entire contents of which are incorporated herein by reference.

TECHNICAL FIELD

This invention relates to custom power outlet sockets that haveintegrated wireless functionality.

BACKGROUND

The average household has an ever-increasing number of electric devicesplugged in at any time. Many devices in a household are increasingly“smart” or have the ability to communicate with the internet, or withother devices. This paradigm is sometimes referred to as the “Internetof Things” (IoT). There is an increasing number of devices andcapabilities that are available to a user and which a user may wish toemploy without the expense of re-wiring a home.

SUMMARY

The disclosure is based, in part, on the implementation of a system forelectric outlets that controls the outlet to perform functions that arecustomized to each outlet, such as automatically stopping power to theoutlet, or collecting data at the outlet, such as ambient temperaturedata. Several outlets with differing or similar functions can beintegrated into a single larger functionality, such as multiple outletsthat collect temperature data in various locations and shares those datawith a centralized thermostat unit. This electric outlet control can bedone on a larger scale, such as a building.

In some embodiments, a modular outlet device comprises a housing thatencloses a portion of an electronic device, and a wireless networkinterface in communication with the electronic device, the wirelessnetwork interface configured to receive signals from the electronicdevice, transmit data based on the received signals to a computingdevice, and receive commands from the computing device, and an innerwall housing configured to fit into an electrical outlet hole in a walland interface with power lines inside the wall, wherein the housing isconfigured to removably attach to the inner wall housing, and whenattached bring the power lines into electrical connection with theelectronic device and the wireless network interface enclosed in thehousing.

In some implementations, the electronic device comprises a wirelessnetwork signal booster. The wireless network interface conforms to theIEEE 802.11 wireless standard. The electronic device comprises awireless network access point. The electronic device comprises athermostat. The electronic device comprises a component of a homesecurity system including one or more of a motion detector, a thermalcamera, a light sensor, and a camera. The electronic device comprises anLCD or touch screen. The electronic device comprises a USB charger. Theelectronic device comprises a temperature sensor or thermostat controlunit. The electronic device comprises a Bluetooth speaker or microphone.The electronic device comprises a light. The electronic device comprisesan electric current sensor configured to measure current passing throughthe electronic device. The housing further encloses a relay switch thatcan open or close to stop or conduct current passing from the powerlines to the electronic device in response to a command received by thewireless network interface. A button on the housing or the inner wallhousing when pressed disconnects the housing from the inner wallhousing. The wireless network interface is configured to transmit datato the electronic device.

In further embodiments, a system comprises a first modular outlet devicecomprising a housing that encloses a portion of a first electronicdevice and a first wireless network interface in communication with thefirst electronic device, the first wireless network interface configuredto receive signals from the first electronic device, transmit data basedon the received signals to a computing device, and receive commands fromthe computing device, and a first inner wall housing configured to fitinto an electrical outlet hole in a wall and interface with power linesinside the wall, wherein the housing is configured to removably attachto the first inner wall housing, and when attached bring the power linesinto electrical connection with the first electronic device and thefirst wireless network interface enclosed in the housing. A secondmodular outlet device comprises a housing that encloses a portion of asecond electronic device and a second wireless network interface incommunication with the second electronic device, the second wirelessnetwork interface configured to receive signals from the secondelectronic device, transmit data based on the received signals to acomputing device, and receive commands from the computing device, and asecond inner wall housing configured to fit into an electrical outlethole in a wall and interface with power lines inside the wall, whereinthe housing is configured to removably attach to the second inner wallhousing, and when attached bring the power lines into electricalconnection with the second electronic device and the second wirelessnetwork interface enclosed in the housing, and a computing devicecomprising a memory configured to store instructions, and a processor toexecute the instructions to perform operations.

In some implementations, the first electronic device or the secondelectronic device is one of a motion detector, thermal camera, lightsensor, or camera. The first electronic device and the second electronicdevice are each temperature sensors and operations comprise transmittingtemperature data wirelessly to a thermostat control. The computingdevice receives the data from a processor in wireless communication withthe power outlet. The computing device transmits instructions to thefirst and/or second modular outlet device via the processor which is inwireless communication with the first and second modular outlet devices.The operations comprise transmitting data collected by the computingdevice to a cloud storage. The operations comprise implementing a rulefor controlling the first or second electronic device. Also included canbe a smart phone interface that permits a user to control the firstelectronic device and the second electronic device. Also included can bethree or more modular outlet devices, each comprising a housing thatencloses a portion of an electronic device and a wireless networkinterface in communication with the electronic device, the wirelessnetwork interface configured to receive signals from the electronicdevice, transmit data based on the received signals to a computingdevice, and receive commands from the computing device, and an innerwall housing configured to fit into an electrical outlet hole in a walland interface with power lines inside the wall, wherein the housing isconfigured to removably attach to the inner wall housing, and whenattached bring the power lines into electrical connection with theelectronic device and the wireless network interface enclosed in thehousing.

Advantages of the methods and systems described include the ability toperform electricity usage control customized to each outlet in a locale,integration on a private wireless network, and enabling a user tocontrol the outlets. Advantages also include the ability to performon/off power control of an outlet as well as power usage sensing. Thesefunctions are performed for each socket of the outlet, rather than oncircuit-wide scale. The outlet per outlet monitoring control allows thedevices plugged into each outlet to be individually identified andcontrolled. Further advantages include the ability to implement variouscustomizable systems easily, and easy installation, for example ofthermostat, audio/visual or security systems. Use of such customizablemodules are also less expensive compared to conventional systems.

The details of one or more embodiments of the invention are set forth inthe accompanying drawings and the description below. Other features,objects, and advantages of the invention will be apparent from thedescription and drawings, and from the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosure is best understood from the following detaileddescription when read in conjunction with the accompanying drawings. Itis emphasized that, according to common practice, the various featuresof the drawings are not to-scale. On the contrary, the dimensions of thevarious features are arbitrarily expanded or reduced for clarity.

FIGS. 1A-B are hardware components for use with a custom power outletsocket with integrated wireless functionality.

FIGS. 2A-C are examples of customized hardware components for use with acustom power outlet socket with integrated wireless functionality.

FIG. 3 is a schematic of data collection and control scheme generationfor a system with custom power outlet socket with integrated wirelessfunctionality.

FIG. 4A is a schematic of a second data collection and control schemegeneration for a system with custom power outlet socket with integratedwireless functionality

FIG. 4B is a schematic of the hardware for FIG. 4A.

FIG. 5 is a flowchart for generating power control scheme using thesystem of FIG. 3.

FIG. 6 illustrates an example of a computing device and a mobilecomputing device that can be used to implement the techniques describedhere.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

The disclosure is based, in part, on the implementation of a system forelectric outlets that provides custom hardware at an electric outlet andcontrol of the custom hardware or module at the outlet to performfunctions particular to the installed custom outlet module. The systemuploads any data collected at the outlet to the “cloud” (e.g., remoteservers) to be used in other ways. Functions can include automaticallystopping power to the outlet, or sending commands to the hardware at theoutlet. Several outlets with differing or similar functions can beintegrated into a single larger functionality, such as multiple outletsthat collect temperature data in various locations and share those datawith a centralized thermostat unit. This custom hardware control can bedone on a larger scale, such as for a building.

FIGS. 1A-B show example hardware components for a custom outlet module102 that replaces a conventional wall outlet at an outlet location 106.The custom outlet module 102 has a housing 104 which is attached to afunctional unit 112. In the example illustrated, the functional unit 112has the form of sockets such as those on a conventional electric outlet,however the functional unit 112 can have many possible forms asdiscussed below. The housing 104 mates with an inner wall housing 114,being a wall-insert block that is placed in the outlet location 106,which is typically a hole in a wall cut for a conventional outlet. Forease of installation, the assembled housing 104 slides into theinstalled inner wall housing 114 (FIG. 1B), and can be removed bysliding it from the inner wall housing 114.

The housing 104 can accommodate various sensors 122 therein, as well asa wireless network interface 128 (shown in FIG. 3). In some embodiments,the housing 104 has plugs on the back of the housing 104. Rather thansliding into the wide or mating with the inner wall housing 114, thedevice plugs into the socket of a traditional outlet. In otherembodiments, the custom outlet module 102 can be installed in a wall andreplace traditional outlets to give customized control and capability.

FIGS. 2A-B show specific implementations of a custom outlet module 102with differing customized hardware. For example, the custom outletmodule 102 can include a Wi-Fi (e.g., IEEE 802.11) signal booster as thefunctional unit 112 (FIG. 2A). The custom outlet module 102 can includea Wi-Fi hotspot as the functional unit 112. The custom outlet module 102can include a thermostat as the functional unit 112. In the customoutlet module 102 the functional unit 112 can be elements of a homesecurity system (e.g., a camera, a motion detector, a light incommunication with a motion detector). In the custom outlet module 102the functional unit 112 can be an LCD or touch screen. Such screens caninclude multiple applications, such as a screen that controls lightbrightness in a kitchen, or controls an entertainment system, or isitself a screen that displays audiovisual content. As another example,in the custom outlet module 102 the functional unit 112 can include USBplugs (FIGS. 2B and 2C).

An advantageous aspect of a custom outlet module 102 is its modularity.The inner wall housing 114, once in place, can interface with a housing104 with any number of different functional units 112 attached thereto.A wide variety of such modules are thus easily installed, havingdiffering functionalities due to the differing functional units 112attached to the housing 104. A user does not have to rewire an outlet;instead once the inner wall housing 114 is in place the user can simplyremove the housing 104 and attached functional unit 112, and replace itwith a different module with the same characteristic housing 104 but adifferent functional unit 112. In some embodiments the housing 104 plugsinto the socket of a conventional electric outlet rather than beingsized and shaped to replace a standard electric outlet 106.

A variety of functional units 112 can be used to easily and quicklycustomize any particular outlet location 106 into a dedicated customdevice. For example, an outlet 106 that is inconveniently located (e.g.,behind furniture) can be equipped with a custom outlet module 102 with afunctional unit that is a stereo, allowing an otherwise neglected outletlocation to provide surround sound. Such an outlet location 106 couldinstead be equipped with a microphone in communication with avoice-activated digital assistant. Another outlet location 106 that isonly used to charge electric devices such as mobile phones could bereplaced with USB chargers as the functional unit 112.

Other possibilities of customized use include, for example, modules thatreplace or integrate with a home security system. Rather thantechnicians having to wire through walls to install or extend a securitysystem, a user can install custom outlet modules 102 that have thermalcameras, light sensors, cameras, and other elements that be slid intoplace where such a security system element would be useful. In anotherexample, a custom outlet module 102 can include a temperature sensor asa functional unit 112. The temperature sensor can integrate with anexisting home climate system, providing temperature information at thelocation of the installed custom outlet module 102, improving thermostataccuracy by increasing the resolution of heat sensing throughout thehome.

FIG. 3 shows a schematic for an example outlet control system 100. Theoutlet control system 100 includes at least one custom outlet module102, depicted in FIG. 3 as three custom outlet modules 102 a, 102 b, 102c, each installed at a different electrical outlet location. Elements inFIG. 3 that are replicated for each of the control devices 102 a, 102 b,102 c are given the suffix a, b, c, and should be understood as beingelements specific to that control device 102 a, 102 b, 103 c, butotherwise similar to each other. FIG. 3 shows three custom outletmodules 102 a, 102 b, 102 c as an example, but the outlet control system100 can manage data and control more than three devices, for examplemore than 10 devices, more than 20 devices, up to 80 devices, etc. Inthe implementation shown, custom outlet module 102 a has a screen as afunctional unit 112 a, custom outlet module 102 b has a functional unit112 b that is a camera used for security, and in custom outlet module102 c the functional unit 112 c is a thermometer or thermostat. Theoutlet control system 100 can communicate with multiple custom outletmodules 102 installed at multiple outlets in a space, such as anapartment, a house, or a building.

Each custom outlet module 102 a, 102 b, 102 c can include one or moresensors 122 a, 122 b, 122 c, such as an electric current sensor thatmeasures the current passing through the custom outlet module 102 a, 102b, 102 c, as is known in the art. The sensors 122 can include aproximity sensor within the device housing 104. The proximity sensordetects the distance to, or the proximity of, an object relative to theproximity sensor (e.g., an RFID tag).

Each custom outlet module 102 a, 102 b, 102 c can have a relay switch124 a, 124 b, 124 c connected to the wiring of the custom outlet module102 a, 102 b, 102 c. The relay switch 124 a, 124 b, 124 c can open orclose the circuit conducting electricity to the outlet location, toconduct or to stop the current flowing through the circuit. Turning offpower can eliminate vampire current, reducing unwanted power usage whenconsumer devices are not in use. In some instances, the informationcollected by the sensors 122 a, 122 b, 122 c is analyzed by the outletcontrol system 100 to create a personal profile for controlling eachcustom outlet module 102 a, 102 b, 102 c, optimizing how electricity isused at the respective outlets, reducing both costs and environmentalimpact.

Each custom outlet module 102 a, 102 b, 102 c includes a wirelessnetwork interface 128 a, 128 b, 128 c in communication with the sensors122. The wireless network interface 128 a, 128 b, 128 c collects thedata from the sensors 122 a, 122 b, 122 c. The wireless networkinterface 128 a, 128 b, 128 c packages the data received from thesensors 122 a, 122 b, 122 c and the interface 128 a, 128 b, 128 c thentransmits the data via a wireless network 140 to an access hub 144.

The network interface 128 can be, for example, a Wi-Fi chip. One exampleof a Wi-Fi chip is from Texas Instruments Inc.® (Texas Instruments“Simple Link CC3220SF12ARGKT”). Such a chip has capacity for additionalbuilt-in functions, so that a single chip can replace both a dedicatedWi-Fi chip that interfaces with the Internet and a dedicated processorfor handling the information transmitted. Thus, the network interface128 uses the single chip, which includes a web server, and addsadditional functionality. This implementation is less expensive thanmany alternatives and can handle necessary functions so that each outlethas its own dedicated chip independently connected to the internet.

The access hub 144 is a private internet access computing device thatinterfaces with a wireless router 146. The access hub 144 connects to aconventional wireless router 146, e.g., by plugging into the router 146.The access hub 144 uses the wireless router 146 to transmit receivedoutlet data 142 to a power service manager 150. The power servicemanager 150 can be in the cloud.

The data service manager 150 includes a processor 152, and a storagesystem such as a database 154. The database 154 saves all the outletdata transmitted to the power service manager by the access hub 144 atvarious time intervals. The processor 152 of the power service manager150 interfaces with the database 154. In some instances, the processor152 includes a program that uses the outlet data 142 stored as usagehistory 156 stored in the database 154 to develop power control profiles158 for controlling the power of the custom outlet module 102.

Power control profiles 158 can be stored on the database 154, and areassociated with the differing functional units 112. For example, aparticular power control profile 158 can be used when the functionalunit 112 is a light instead of another device such as a camera. Thepower service manager 150 transmits on/off or other control signals(e.g., increase brightness of a light) to the access hub 144 via therouter 146. The access hub 144 transmits the control signals 160 via thewireless network 140 to the wireless network interface 128. The wirelessnetwork interface 128 in turn transmits control signals to thefunctional unit 112 (e.g., sends a command to turn on or off the deviceto the relay switch 124).

The access hub 144 plugs into the back of a router 146, creating aprivate access point to any of the smart outlets. Since each access hub144 plugs directly into the router 146, it is relative easy to implementsecurity. Initial set up of the outlet control system 100 is easy aswell: with custom outlet modules 102 a, 102 b, 102 c installed, a userneed only plug the access hub 144 into her router 146. The access hub144 will automatically connect to the power service manager 150, receiveinstructions, and install all the custom outlet modules 102 a, 102 b,102 c.

The technique implemented by the outlet control system 100 can includereceiving outlet data 142 a, 142 b, 142 c representing the power use ofmultiple power outlets with installed custom outlet modules 102 a, 102b, 102 c over a period of time. Each of the custom outlet modules 102 a,102 b, 102 c also receives data at its respective sensors 122. Thewireless router 146 relays any collected data from the access hub 144 tothe power service manager 150. The power service manager 150 chooses thecorrect control profile 158 for each custom outlet module 102 a, 102 b,102 c, and sends commands 160 received at the access hub 144 andtransmitted to the respective power outlet.

Device profiles stored in the database 154 allow the power controlmanager 150 to identify the type of consumer devices customized ascustom outlet modules 102 a, 102 b, 102 c. The power control manager hasrules for the specific device that it can implement or suggest to theuser before implementing, or the user can specify rules immediately uponplugging a device in.

Power control profiles 158 a, 158 b, 158 c include rules for powering ordisconnecting various custom outlet modules 102 a, 102 b, 102 c based ontheir type and their usage. A profile 158 c for the screen plugged intoa custom outlet module 102 a that is located in the kitchen for example,would be implemented by the power control manager 150 sending an on/offcommand 160 c to the custom outlet module 102 c to turn off the power tothe circuit for most of the day. In the morning, an on/off command wouldturn the custom outlet module 102 c back on. The profile may includesending an off command 160 c when a certain criteria is met, such as itis past 9 a.m. and the user has typically left the house.

Another example profile 158 could be for a security camera custom outletmodule 102 b. Security cameras on always on and a profile 158 thatidentified the functional unit 112 b of custom outlet module 102 b couldtherefore include an always-on command in the on/off signal 160 a.

Notification messages 166 are sent to the user 118 to confirm suchschedules and profiles 158 as they are developed by the power servicemanager 150. For example, the notification message 166 can ask forconfirmation of the power on or power off schedule proposed for aspecific custom outlet modules 102 a, 102 b, 102 c. The app can includeoverrides, so that a user can, for example, watch the screen pluggedinto the kitchen in the afternoon.

Notifications 166 that a user could receive include a “New Device”notification. This type of notification is sent immediately uponplugging in a new consumer device that is detected by the system 100 andthe user will have the option to specify the kind of consumer device ifdesired, or the type of consumer device will be automatically detected.

FIG. 4A shows an exemplary configuration that does not use anintermediary access hub 144 between each outlet and the cloud. Instead,in system 20, each custom outlet 22 is directly connected to the cloudand proximity is sensed via a Bluetooth low energy (BLE) beacon in eachoutlet that is detected via cell phone 24. In an example implementation,audio tones 1 are produced by the phone 24 intermittently. These tonescontain an ID associated with a user. These IDs are extracted by eachoutlet 22 that detects the tone and packaged into information uploadedto a backend system 26, e.g. an Amazon Web Services Internet of Things(AWS IoT). Upon receiving one or more of these IDs, the user is said tobe sensed “in proximity” to the custom outlet 22. Signals 2 representingthe power, temperature, the state of each relay (e.g., the status ofswitches/relays that control power going to the sockets of the outlet),and the IDs of the individuals in proximity to the outlet (if there areany) are uploaded at an interval less than once every 5 minutes butgreater than once every 30 seconds.

The backend system 26 mediates the control of states of the outlets 22(e.g., the state of each relay in the outlet) using device “shadows” 3.A “shadow” is a representation of current state information. In thisinstance, a “device shadow” is a JavaScript Object Notation (JSON)document that is used to store and retrieve current state informationfor a device, the outlets 22. A device shadow is maintained for eachoutlet 22 connected to the backend system 26, and provides the status ofeach outlet 22.

The signals 2 uploaded to the backend system 26 is sent as data 4 andpackaged into a time series database 28 for access by a mobile app, webapp, and machine learning component 30 (e.g., a python machine learningcomponent receiving data 7) of the backend system 26. These data 5 arealso used to populate graphs and analytical insight into a user's (e.g.,a person or an entire institution) system and electrical usage. Directcontrol over outlets 22 (or in other words, direct control over deviceshadows) is given to the mobile (and web-based) application. Thedatabase 28 provides the data needed for each generation of machinelearning analysis by the machine learning component 30. The web app is acontrol dashboard offering detailed insight into a system 20, forexample, breakdowns of the kinds of devices that are on, costing themost in power, etc.

All forms of the data (user proximity, time-series power data, etc.) anddata 8 generated by the machine learning component 30 are used toconstruct habits 32. Habits 32 are rules that become the “controllers”of device shadows and decide when devices should be powered. Typicallythere is only one habit 32 per device (e.g., for each socket of eachoutlet 22). Habits 32 are learned and developed and improved for eachdevice in the system. Once a habit 32 has been generated, a notification9 is pushed to the users phone 24 (or notification 10 viewable in theweb app) asking the user permission to implement the habit 32 (andproviding details to how the habit will work). If the habit 32 isauthorized, the habit 32 has control over updating that device'sassociated outlet state shadow. The web app can show information such aswhich habits are active, which ones have been learned but not accepted,etc. A method of generating and using habits are discussed in detail inApplication No. 62/536,288, filed on Jul. 24, 2017.

FIG. 4B shows a hardware block diagram including a custom outlet moduleapparatus 350 (such as described above) that provide base functionalityto a custom module 302. Relays 42A and 42B can be open or closed toprevent or allow current to flow to each of the sockets available in theshown custom outlet module 302. A microcontroller unit 40 (MCU) controlsthe relays 42A, 42B and also communicates with other components such asa BLE beacon 44A, Wi-Fi chip 44B, temperature sensor 44C or othercomponents such as Wi-Fi repeaters, LCD screens, Bluetooth speakers,infrared cameras, etc.

FIG. 5 shows a flow chart for the outlet control system 100 to controlone or more custom outlet modules 102. At step 402, a user places amodular outlet device at an outlet receptacle (e.g., outlet location106). At step 404, the outlet control system 100, specifically the powerservice manager 150, receives outlet data 142 from the modular outletdevice, including the type of functional unit 112 installed, and anyinformation detected by sensors 122. At step 406, the power servicemanager 150 transmits control commands 160 to the modular outlet basedon a control profile 158 the power service manager associates with thetype of functional unit 112.

The outlet control system 100 can be used for implementations other thanfor household use. For example, the outlet control system 100 can beimplemented for larger scale uses, such as a floor of an officebuilding, an entire building such as an office, school, or dormitory, oran entire city block. Another non-consumer application of the powercontrol system is in manufacturing and production. Additionally, otherfeatures of the system may be absent, such as generation andimplementation of profiles 158. The outlet control system 100 couldsolely transmit signals from a user to an individual module.

FIG. 6 shows an example computer device 600 and example mobile computerdevice 650, which can be used to implement the techniques describedherein. For example, a portion or all of the operations of the powerservice manager 150 may be executed by implementations of computerdevice 600 and/or the mobile computer device 650. Computing device 600is intended to represent various forms of digital computers, including,e.g., laptops, desktops, workstations, personal digital assistants,servers, blade servers, mainframes, and other appropriate computers.Computing device 650 is intended to represent various forms of mobiledevices, including, e.g., personal digital assistants, cellulartelephones, smartphones, and other similar computing devices. Thecomponents shown here, their connections and relationships, and theirfunctions, are meant to be examples only, and are not meant to limitimplementations of the techniques described and/or claimed in thisdocument.

Computing device 600 includes processor 602, memory 604, storage device606, high-speed interface 608 connecting to memory 604 and high-speedexpansion ports 610, and low speed interface 612 connecting to low speedbus 614 and storage device 606. Each of components 602, 604, 606, 608,610, and 612, are interconnected using various busses, and can bemounted on a common motherboard or in other manners as appropriate.Processor 602 can process instructions for execution within computingdevice 600, including instructions stored in memory 604 or on storagedevice 606, to display graphical data for a GUI on an externalinput/output device, including, e.g., display 616 coupled to high speedinterface 608. In other implementations, multiple processors and/ormultiple buses can be used, as appropriate, along with multiple memoriesand types of memory. Also, multiple computing devices 600 can beconnected, with each device providing portions of the necessaryoperations (e.g., as a server bank, a group of blade servers, or amulti-processor system).

Memory 604 stores data within computing device 600. In oneimplementation, memory 604 is a volatile memory unit or units. Inanother implementation, memory 604 is a non-volatile memory unit orunits. Memory 604 also can be another form of computer-readable medium,including, e.g., a magnetic or optical disk.

Storage device 606 is capable of providing mass storage for computingdevice 600. In one implementation, storage device 606 can be or containa computer-readable medium, including, e.g., a floppy disk device, ahard disk device, an optical disk device, a tape device, a flash memoryor other similar solid state memory device, or an array of devices,including devices in a storage area network or other configurations. Acomputer program product can be tangibly embodied in a data carrier. Thecomputer program product also can contain instructions that, whenexecuted, perform one or more methods, including, e.g., those describedabove. The data carrier is a computer- or machine-readable medium,including, e.g., memory 604, storage device 606, memory on processor602, and the like.

High-speed controller 608 manages bandwidth-intensive operations forcomputing device 600, while low speed controller 612 manages lowerbandwidth-intensive operations. Such allocation of functions is anexample only. In one implementation, high-speed controller 608 iscoupled to memory 604, display 616 (e.g., through a graphics processoror accelerator), and to high-speed expansion ports 610, which can acceptvarious expansion cards (not shown). In the implementation, thelow-speed controller 612 is coupled to storage device 606 and low-speedexpansion port 614. The low-speed expansion port, which can includevarious communication ports (e.g., USB, Bluetooth®, Ethernet, wirelessEthernet), can be coupled to one or more input/output devices,including, e.g., a keyboard, a pointing device, a scanner, or anetworking device including, e.g., a switch or router (e.g., through anetwork adapter).

Computing device 600 can be implemented in a number of different forms,as shown in the figure. For example, it can be implemented as standardserver 620, or multiple times in a group of such servers. It also can beimplemented as part of rack server system 624. In addition or as analternative, it can be implemented in a personal computer (e.g., laptopcomputer 622). In some examples, components from computing device 600can be combined with other components in a mobile device (not shown)(e.g., device 650). Each of such devices can contain one or more ofcomputing device 600, 650, and an entire system can be made up ofmultiple computing devices 600, 650 communicating with each other.

Computing device 650 includes processor 652, memory 664, and aninput/output device including, e.g., display 654, communicationinterface 666, and transceiver 668, among other components. Device 650also can be provided with a storage device, including, e.g., amicrodrive or other device, to provide additional storage. Components650, 652, 664, 654, 666, and 668, may each be interconnected usingvarious buses, and several of the components can be mounted on a commonmotherboard or in other manners as appropriate.

Processor 652 can execute instructions within computing device 650,including instructions stored in memory 664. The processor can beimplemented as a chipset of chips that include separate and multipleanalog and digital processors. The processor can provide, for example,for the coordination of the other components of device 650, including,e.g., control of user interfaces, applications run by device 650, andwireless communication by device 650.

Processor 652 can communicate with a user through control interface 658and display interface 656 coupled to display 654. Display 654 can be,for example, a TFT LCD (Thin-Film-Transistor Liquid Crystal Display) oran OLED (Organic Light Emitting Diode) display, or other appropriatedisplay technology. Display interface 656 can comprise appropriatecircuitry for driving display 654 to present graphical and other data toa user. Control interface 658 can receive commands from a user andconvert them for submission to processor 652. In addition, externalinterface 662 can communicate with processor 642, so as to enable neararea communication of device 650 with other devices. External interface662 can provide, for example, for wired communication in someimplementations, or for wireless communication in other implementations.Multiple interfaces also can be used.

Memory 664 stores data within computing device 650. Memory 664 can beimplemented as one or more of a computer-readable medium or media, avolatile memory unit or units, or a non-volatile memory unit or units.Expansion memory 674 also can be provided and connected to device 850through expansion interface 672, which can include, for example, a SIMM(Single In Line Memory Module) card interface. Such expansion memory 674can provide extra storage space for device 650, and/or may storeapplications or other data for device 650. Specifically, expansionmemory 674 can also include instructions to carry out or supplement theprocesses described above and can include secure data. Thus, forexample, expansion memory 674 can be provided as a security module fordevice 650 and can be programmed with instructions that permit secureuse of device 650. In addition, secure applications can be providedthrough the SIMM cards, along with additional data, including, e.g.,placing identifying data on the SIMM card in a non-hackable manner.

The memory can include, for example, flash memory and/or NVRAM memory,as discussed below. In one implementation, a computer program product istangibly embodied in a data carrier. The computer program productcontains instructions that, when executed, perform one or more methods,including, e.g., those described above. The data carrier is a computer-or machine-readable medium, including, e.g., memory 664, expansionmemory 674, and/or memory on processor 652, which can be received, forexample, over transceiver 668 or external interface 662.

Device 650 can communicate wirelessly through communication interface666, which can include digital signal processing circuitry wherenecessary. Communication interface 666 can provide for communicationsunder various modes or protocols, including, e.g., GSM voice calls, SMS,EMS, or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, amongothers. Such communication can occur, for example, throughradio-frequency transceiver 668. In addition, short-range communicationcan occur, including, e.g., using a Bluetooth®, Wi-Fi, or other suchtransceiver (not shown). In addition, GPS (Global Positioning System)receiver module 670 can provide additional navigation- andlocation-related wireless data to device 650, which can be used asappropriate by applications running on device 650.

Device 650 also can communicate audibly using audio codec 660, which canreceive spoken data from a user and convert it to usable digital data.Audio codec 660 can likewise generate audible sound for a user,including, e.g., through a speaker, e.g., in a handset of device 650.Such sound can include sound from voice telephone calls, recorded sound(e.g., voice messages, music files, and the like) and also soundgenerated by applications operating on device 650.

Computing device 650 can be implemented in a number of different forms,as shown in the figure. For example, it can be implemented as cellulartelephone 680. It also can be implemented as part of smartphone 682,personal digital assistant, or other similar mobile device.

Various implementations of the systems and techniques described here canbe realized in digital electronic circuitry, integrated circuitry,specially designed ASICs (application specific integrated circuits),computer hardware, firmware, software, and/or combinations thereof.These various implementations can include one or more computer programsthat are executable and/or interpretable on a programmable system. Thisincludes at least one programmable processor, which can be special orgeneral purpose, coupled to receive data and instructions from, and totransmit data and instructions to, a storage system, at least one inputdevice, and at least one output device.

These computer programs (also known as programs, software, softwareapplications or code) include machine instructions for a programmableprocessor, and can be implemented in a high-level procedural and/orobject-oriented programming language, and/or in assembly/machinelanguage. As used herein, the terms machine-readable medium andcomputer-readable medium refer to a computer program product, apparatusand/or device (e.g., magnetic discs, optical disks, memory, ProgrammableLogic Devices (PLDs)) used to provide machine instructions and/or datato a programmable processor, including a machine-readable medium thatreceives machine instructions.

To provide for interaction with a user, the systems and techniquesdescribed here can be implemented on a computer having a display device(e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor)for presenting data to the user, and a keyboard and a pointing device(e.g., a mouse or a trackball) by which the user can provide input tothe computer. Other kinds of devices can be used to provide forinteraction with a user as well. For example, feedback provided to theuser can be a form of sensory feedback (e.g., visual feedback, auditoryfeedback, or tactile feedback). Input from the user can be received in aform, including acoustic, speech, or tactile input.

The systems and techniques described here can be implemented in acomputing system that includes a backend component (e.g., as a dataserver), or that includes a middleware component (e.g., an applicationserver), or that includes a frontend component (e.g., a client computerhaving a user interface or a Web browser through which a user caninteract with an implementation of the systems and techniques describedhere), or a combination of such backend, middleware, or frontendcomponents. The components of the system can be interconnected by a formor medium of digital data communication (e.g., a communication network).Examples of communication networks include a local area network (LAN), awide area network (WAN), and the Internet.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

In some implementations, the engines described herein can be separated,combined or incorporated into a single or combined engine. The enginesdepicted in the figures are not intended to limit the systems describedhere to the software architectures shown in the figures.

A number of embodiments of the invention have been described.Nevertheless, it will be understood that various modifications may bemade without departing from the spirit and scope of the invention.Accordingly, other embodiments are within the scope of the followingclaims.

What is claimed is:
 1. A device, comprising: a housing configured tocouple to an electric socket, the housing enclosing: a portion of anelectronic device, a wireless network interface in communication withthe electronic device, the wireless network interface configured toreceive signals from the electronic device, transmit data based on thereceived signals to a computing device, and receive commands from thecomputing device, and a switch configured to control the electronicdevice in response to a command received by the wireless networkinterface, and a button on the housing configured to disconnect thehousing from the electric socket.
 2. The device of claim 1, furthercomprising: an inner wall housing configured to couple to the electricsocket and to interface with corresponding power lines, wherein thehousing is configured to removably attach to the inner wall housing, andwhen attached to the inner wall housing bring the power lines intoelectrical connection with the electronic device and the wirelessnetwork interface.
 3. The device of claim 2, further comprising: abutton on the inner wall housing that when pressed disconnects thehousing from the inner wall housing.
 4. The device of claim 1, whereinthe electronic device comprises a wireless network signal booster. 5.The device of claim 1, wherein the wireless network interface includes aWi-Fi chip.
 6. The device of claim 1, wherein the electronic devicecomprises a wireless network access point.
 7. The device of claim 1,wherein the electronic device comprises a thermostat.
 8. The device ofclaim 1, wherein the electronic device comprises a component of a homesecurity system including one or more of a motion detector, a thermalcamera, a light sensor, and a camera.
 9. The device of claim 1, whereinthe electronic device comprises an LCD or touch screen.
 10. The deviceof claim 1, wherein the electronic device comprises a USB charger. 11.The device of claim 1, wherein the electronic device comprises atemperature sensor or thermostat control unit.
 12. The device of claim1, wherein the electronic device comprises a short-range wirelesscommunication protocol speaker or microphone.
 13. The device of claim 1,wherein the electronic device comprises a light.
 14. The device of claim1, wherein the wireless network interface is configured to transmit datato the electronic device.
 15. A system comprising: a first modularoutlet device comprising: a first housing configured to couple to anelectric socket that encloses a portion of a first electronic device anda first wireless network interface in communication with the firstelectronic device, the first wireless network interface configured toreceive signals from the first electronic device, transmit data based onthe received signals to a computing device, and receive commands fromthe computing device, and a button on the first housing configured todisconnect the first housing from the electric socket; and a secondmodular outlet device comprising: a second housing configured to coupleto the electric socket that encloses a portion of a second electronicdevice and a second wireless network interface in communication with thesecond electronic device, the second wireless network interfaceconfigured to receive signals from the second electronic device,transmit data based on the received signals to a computing device, andreceive commands from the computing device, and a button on the secondhousing configured to disconnect the second housing from the electricsocket.
 16. The system of claim 15, wherein the first modular outletdevice further comprises a first inner wall housing configured to coupleto an electrical outlet hole in a wall and to interface with power linesinside the wall, wherein the first housing is configured to removablyattach to the first inner wall housing, and when attached bring thepower lines into electrical connection with the first electronic deviceand the first wireless network interface enclosed in the first housing;and wherein the second modular outlet device further comprises a secondinner wall housing configured to couple to an electrical outlet hole ina wall and interface with power lines inside the wall, wherein thesecond housing is configured to removably attach to the second innerwall housing, and when attached bring the power lines into electricalconnection with the second electronic device and the second wirelessnetwork interface enclosed in the second housing.
 17. The system ofclaim 16, further comprising: a computing device comprising a memoryconfigured to store instructions, and a processor to execute theinstructions to perform operations comprising: receiving informationfrom the first and second modular outlet devices, generating commandsbased on the received information, and transmitting the commands to thefirst and second modular outlet devices to cause a change in operationof one or both of the first and second modular outlet devices.
 18. Thesystem of claim 15, wherein the first electronic device or the secondelectronic device is one of a motion detector, thermal camera, lightsensor, camera, or temperature sensor.
 19. The system of claim 15,further comprising: a smart phone interface that permits a user tocontrol the first electronic device or the second electronic device.